﻿using RbacPermissionManage.Application.Admins.Dto;
using RbacPermissionManage.DoMain;

namespace RbacPermissionManage.Application.Admins
{
    public interface IAdminServices
    {
        Task<ResultDto> RegisterAsync(RegisterDto registerDto);
        Task<ResultDto> CreateAsync(AdminCreateDto createDto);
        Task<ResultDto<AdminListDto>> BackfillAsync(int AdminId);
        Task<ResultDto> UpdateAsync(AdminUpdateDto updateDto);
        Task<LoginResultDto> LoginAsync(LoginDto loginDto);
        Task<ResultDto<(int, List<AdminListDto>)>> GetAdminAsync(AdminSearchDto searchDto, int pageIndex=1, int pageSize=10);
        Task<ResultDto<bool>> DeleteAsync(int AdminId);
        Task<ResultDto<bool>> BatchDelAsync(List<int> adminIds);
    }
}